#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
查看数据库中的用户信息
"""

import os
import sys
import django

# 设置Django环境
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TradingPlatform_Server.settings')
django.setup()

from Server.models import User

def view_database():
    """查看数据库中的所有用户"""
    
    print("\n" + "="*80)
    print("数据库用户信息")
    print("="*80)
    
    # 获取所有用户
    users = User.objects.all()
    
    print("\n总用户数: %d\n" % users.count())
    
    if users.count() == 0:
        print("数据库中没有用户！\n")
        return
    
    # 显示表头
    print("-" * 80)
    print("%-12s %-15s %-20s %-15s %-10s %-10s" % (
        "ID", "手机号", "昵称", "密码", "余额", "管理员"
    ))
    print("-" * 80)
    
    # 显示每个用户
    for user in users:
        is_admin = "是" if user.is_admin else "否"
        print("%-12s %-15s %-20s %-15s %-10.2f %-10s" % (
            user.id,
            user.phone,
            user.username[:20] if len(user.username) > 20 else user.username,
            user.password,
            user.money,
            is_admin
        ))
    
    print("-" * 80)
    
    # 显示管理员账号
    print("\n" + "="*80)
    print("管理员账号详情")
    print("="*80)
    
    admins = User.objects.filter(is_admin=True)
    
    if admins.count() == 0:
        print("\n[警告] 没有找到管理员账号！\n")
    else:
        for admin in admins:
            print("\n管理员 #%d:" % (list(admins).index(admin) + 1))
            print("  ID: %s" % admin.id)
            print("  手机号: %s" % admin.phone)
            print("  昵称: %s" % admin.username)
            print("  密码: %s" % admin.password)
            print("  余额: %.2f 元" % admin.money)
            print("  创建时间: %s" % (admin.create_time if hasattr(admin, 'create_time') else '未知'))
    
    # 特别查找13800138000
    print("\n" + "="*80)
    print("查找手机号 13800138000")
    print("="*80)
    
    target_user = User.objects.filter(phone='13800138000').first()
    
    if target_user:
        print("\n[找到] 该账号存在于数据库中")
        print("  ID: %s" % target_user.id)
        print("  手机号: %s" % target_user.phone)
        print("  昵称: %s" % target_user.username)
        print("  密码: %s" % target_user.password)
        print("  是否管理员: %s" % ("是" if target_user.is_admin else "否"))
        print("  余额: %.2f 元" % target_user.money)
        
        print("\n[登录信息]")
        print("  使用以下信息登录：")
        print("  - 手机号: %s" % target_user.phone)
        print("  - 密码: %s" % target_user.password)
    else:
        print("\n[未找到] 手机号 13800138000 不存在于数据库中！")
    
    print("\n" + "="*80)
    print("\n")

if __name__ == '__main__':
    try:
        view_database()
    except Exception as e:
        print("\n[错误] %s" % str(e))
        import traceback
        traceback.print_exc()

